import request from '../../utils/request'
// pages/recommend/recommend.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    day: '',
    month: '',
    recommendList: [],
  },
  // 前往播放页
  gotoDetail(e) {
    wx.navigateTo({
      url: `/pages/detail/detail?songId=${e.currentTarget.dataset.id}`,
    })
  },
  // 获取每日推荐列表数据
  async getReconmendList() {
    const result = await request('/recommend/songs')
    if (result.code === 200) {
      // console.log(result)
      this.setData({
        recommendList: result.recommend
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    let date = new Date()
    let day = date.getDate()
    let month = date.getMonth() + 1
    this.setData({
      day,
      month
    })
    await this.getReconmendList();
    // 绑定切换上一首、下一首歌曲事件
    // console.log(getApp())
    getApp().globalData.customEvent.on("NextOrPerv", ({
      songId,
      type
    }) => {
      // 查找当前歌曲的下标
      const currentIndex = this.data.recommendList.findIndex(song => song.id == songId);
      let targetId = this.data.recommendList[currentIndex].id
      // console.log(targetId)
      // console.log(currentIndex)
      // 根据 type 判断时上一首还是下一首
      if (type === "next" && currentIndex < this.data.recommendList.length - 1) {
        targetId = this.data.recommendList[currentIndex + 1]?.id;
      }
      if (type === "prev" && currentIndex > 0) {
        targetId = this.data.recommendList[currentIndex - 1]?.id;
      }
      // 触发切换上一首、下一首事件(如果是第一首、最后一首不去请求数据)
      if (targetId === songId) return
      getApp().globalData.customEvent.emit("switchId", targetId)
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})